//This is a cmocean colormap
//All credit to Kristen Thyng
//This colormap is under the MIT License
//All cmocean colormaps are available at https://github.com/matplotlib/cmocean/tree/master/cmocean/rgb

namespace ScottPlot.Colormaps;

public class Deep : IColormap
{
    public string Name => "Deep";
    readonly CustomPalette Colormap;
    public Color GetColor(double position) => Colormap.GetColor(position);

    public Deep()
    {
        Color[] colors =
        [
            new( 253, 254, 204 ),
            new( 251, 253, 203 ),
            new( 249, 252, 202 ),
            new( 247, 251, 200 ),
            new( 245, 250, 199 ),
            new( 243, 250, 198 ),
            new( 241, 249, 197 ),
            new( 239, 248, 196 ),
            new( 237, 247, 195 ),
            new( 235, 247, 193 ),
            new( 233, 246, 192 ),
            new( 231, 245, 191 ),
            new( 229, 244, 190 ),
            new( 227, 244, 189 ),
            new( 225, 243, 188 ),
            new( 223, 242, 187 ),
            new( 221, 242, 186 ),
            new( 219, 241, 185 ),
            new( 217, 240, 184 ),
            new( 215, 239, 183 ),
            new( 212, 239, 182 ),
            new( 210, 238, 181 ),
            new( 208, 237, 180 ),
            new( 206, 236, 179 ),
            new( 204, 236, 179 ),
            new( 202, 235, 178 ),
            new( 200, 234, 177 ),
            new( 198, 234, 176 ),
            new( 196, 233, 175 ),
            new( 193, 232, 175 ),
            new( 191, 231, 174 ),
            new( 189, 231, 173 ),
            new( 187, 230, 172 ),
            new( 185, 229, 172 ),
            new( 183, 229, 171 ),
            new( 181, 228, 170 ),
            new( 178, 227, 170 ),
            new( 176, 226, 169 ),
            new( 174, 226, 169 ),
            new( 172, 225, 168 ),
            new( 170, 224, 168 ),
            new( 167, 224, 167 ),
            new( 165, 223, 167 ),
            new( 163, 222, 166 ),
            new( 161, 221, 166 ),
            new( 159, 221, 165 ),
            new( 156, 220, 165 ),
            new( 154, 219, 165 ),
            new( 152, 218, 164 ),
            new( 150, 218, 164 ),
            new( 148, 217, 164 ),
            new( 146, 216, 164 ),
            new( 144, 215, 164 ),
            new( 141, 215, 163 ),
            new( 139, 214, 163 ),
            new( 137, 213, 163 ),
            new( 135, 212, 163 ),
            new( 133, 211, 163 ),
            new( 131, 211, 163 ),
            new( 129, 210, 163 ),
            new( 127, 209, 163 ),
            new( 125, 208, 163 ),
            new( 124, 207, 163 ),
            new( 122, 206, 163 ),
            new( 120, 206, 163 ),
            new( 118, 205, 163 ),
            new( 117, 204, 163 ),
            new( 115, 203, 163 ),
            new( 113, 202, 163 ),
            new( 112, 201, 163 ),
            new( 110, 200, 163 ),
            new( 109, 199, 163 ),
            new( 107, 198, 163 ),
            new( 106, 197, 164 ),
            new( 105, 196, 164 ),
            new( 103, 195, 164 ),
            new( 102, 194, 164 ),
            new( 101, 194, 164 ),
            new( 100, 193, 164 ),
            new( 99, 192, 164 ),
            new( 98, 191, 164 ),
            new( 97, 190, 164 ),
            new( 96, 189, 164 ),
            new( 95, 188, 164 ),
            new( 94, 187, 164 ),
            new( 93, 186, 164 ),
            new( 92, 185, 164 ),
            new( 91, 184, 164 ),
            new( 90, 183, 164 ),
            new( 90, 182, 164 ),
            new( 89, 180, 164 ),
            new( 88, 179, 164 ),
            new( 88, 178, 164 ),
            new( 87, 177, 164 ),
            new( 86, 176, 164 ),
            new( 86, 175, 164 ),
            new( 85, 174, 163 ),
            new( 85, 173, 163 ),
            new( 84, 172, 163 ),
            new( 83, 171, 163 ),
            new( 83, 170, 163 ),
            new( 82, 169, 163 ),
            new( 82, 168, 163 ),
            new( 81, 167, 163 ),
            new( 81, 166, 162 ),
            new( 81, 165, 162 ),
            new( 80, 164, 162 ),
            new( 80, 163, 162 ),
            new( 79, 162, 162 ),
            new( 79, 161, 162 ),
            new( 79, 160, 162 ),
            new( 78, 159, 161 ),
            new( 78, 158, 161 ),
            new( 77, 157, 161 ),
            new( 77, 156, 161 ),
            new( 77, 155, 161 ),
            new( 76, 154, 160 ),
            new( 76, 153, 160 ),
            new( 75, 152, 160 ),
            new( 75, 151, 160 ),
            new( 75, 150, 160 ),
            new( 74, 149, 159 ),
            new( 74, 148, 159 ),
            new( 74, 147, 159 ),
            new( 73, 146, 159 ),
            new( 73, 145, 158 ),
            new( 73, 144, 158 ),
            new( 72, 143, 158 ),
            new( 72, 142, 158 ),
            new( 72, 141, 157 ),
            new( 71, 140, 157 ),
            new( 71, 139, 157 ),
            new( 71, 138, 157 ),
            new( 70, 137, 157 ),
            new( 70, 136, 156 ),
            new( 70, 135, 156 ),
            new( 69, 134, 156 ),
            new( 69, 133, 156 ),
            new( 69, 132, 155 ),
            new( 68, 131, 155 ),
            new( 68, 130, 155 ),
            new( 68, 129, 155 ),
            new( 68, 128, 155 ),
            new( 67, 127, 154 ),
            new( 67, 126, 154 ),
            new( 67, 125, 154 ),
            new( 66, 124, 154 ),
            new( 66, 123, 153 ),
            new( 66, 122, 153 ),
            new( 66, 121, 153 ),
            new( 65, 120, 153 ),
            new( 65, 119, 153 ),
            new( 65, 118, 152 ),
            new( 64, 117, 152 ),
            new( 64, 116, 152 ),
            new( 64, 115, 152 ),
            new( 64, 114, 152 ),
            new( 64, 113, 151 ),
            new( 63, 112, 151 ),
            new( 63, 111, 151 ),
            new( 63, 110, 151 ),
            new( 63, 109, 151 ),
            new( 63, 108, 150 ),
            new( 62, 107, 150 ),
            new( 62, 106, 150 ),
            new( 62, 105, 150 ),
            new( 62, 104, 150 ),
            new( 62, 103, 149 ),
            new( 62, 102, 149 ),
            new( 62, 101, 149 ),
            new( 62, 100, 149 ),
            new( 62, 99, 148 ),
            new( 62, 98, 148 ),
            new( 62, 97, 148 ),
            new( 62, 96, 148 ),
            new( 62, 95, 147 ),
            new( 62, 94, 147 ),
            new( 62, 92, 147 ),
            new( 62, 91, 147 ),
            new( 62, 90, 146 ),
            new( 62, 89, 146 ),
            new( 62, 88, 146 ),
            new( 62, 87, 145 ),
            new( 62, 86, 145 ),
            new( 63, 85, 144 ),
            new( 63, 84, 144 ),
            new( 63, 83, 143 ),
            new( 63, 82, 143 ),
            new( 63, 80, 142 ),
            new( 64, 79, 141 ),
            new( 64, 78, 141 ),
            new( 64, 77, 140 ),
            new( 64, 76, 139 ),
            new( 65, 75, 138 ),
            new( 65, 74, 137 ),
            new( 65, 73, 136 ),
            new( 65, 72, 135 ),
            new( 65, 71, 133 ),
            new( 65, 70, 132 ),
            new( 65, 69, 131 ),
            new( 65, 68, 129 ),
            new( 66, 67, 128 ),
            new( 65, 66, 126 ),
            new( 65, 65, 125 ),
            new( 65, 64, 123 ),
            new( 65, 64, 122 ),
            new( 65, 63, 120 ),
            new( 65, 62, 118 ),
            new( 65, 61, 117 ),
            new( 64, 60, 115 ),
            new( 64, 60, 113 ),
            new( 64, 59, 112 ),
            new( 64, 58, 110 ),
            new( 63, 57, 108 ),
            new( 63, 56, 107 ),
            new( 63, 56, 105 ),
            new( 62, 55, 103 ),
            new( 62, 54, 102 ),
            new( 61, 53, 100 ),
            new( 61, 53, 98 ),
            new( 61, 52, 97 ),
            new( 60, 51, 95 ),
            new( 60, 50, 93 ),
            new( 59, 50, 92 ),
            new( 59, 49, 90 ),
            new( 58, 48, 88 ),
            new( 58, 48, 87 ),
            new( 57, 47, 85 ),
            new( 57, 46, 84 ),
            new( 56, 45, 82 ),
            new( 56, 45, 81 ),
            new( 55, 44, 79 ),
            new( 54, 43, 77 ),
            new( 54, 42, 76 ),
            new( 53, 42, 74 ),
            new( 53, 41, 73 ),
            new( 52, 40, 71 ),
            new( 52, 40, 70 ),
            new( 51, 39, 68 ),
            new( 50, 38, 67 ),
            new( 50, 37, 65 ),
            new( 49, 37, 64 ),
            new( 48, 36, 62 ),
            new( 48, 35, 61 ),
            new( 47, 34, 59 ),
            new( 47, 34, 58 ),
            new( 46, 33, 57 ),
            new( 45, 32, 55 ),
            new( 45, 31, 54 ),
            new( 44, 31, 52 ),
            new( 43, 30, 51 ),
            new( 43, 29, 50 ),
            new( 42, 28, 48 ),
            new( 41, 28, 47 ),
            new( 40, 27, 45 ),
            new( 40, 26, 44 ),
        ];

        Colormap = new CustomPalette(colors);
    }
}

